package com.example.qxfw.dzzh.service.impl;

import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.example.qxfw.common.entity.yj.DzWarning;
import com.example.qxfw.dzzh.mapper.DzWarningMapper;
import com.example.qxfw.dzzh.service.DzWarningService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.List;

@Service
public class DzWarningServiceImpl implements DzWarningService {

    @Autowired
    private DzWarningMapper dzWarningMapper;


    @Override
    public List<DzWarning> listByParam(Integer id,String dateChar, String timeChar, String warningType) {
        return dzWarningMapper.selectList(Wrappers.<DzWarning>lambdaQuery()
                .eq(ObjectUtils.isNotNull(id),DzWarning::getDocid,id)
                .eq(StringUtils.isNotBlank(dateChar),DzWarning::getDatechar, Timestamp.valueOf(dateChar))
                .eq(StringUtils.isNotBlank(timeChar),DzWarning::getTimechar,timeChar)
                .eq(StringUtils.isNotBlank(warningType),DzWarning::getWarningtype,warningType));
    }

    @Override
    public int update(DzWarning dzWarning) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String dateChar = sdf.format(dzWarning.getDatechar());
        String warningType = dzWarning.getWarningtype();
        dzWarning.setDatechar(null);
        dzWarning.setWarningtype(null);
        return dzWarningMapper.update(dzWarning,Wrappers.<DzWarning>lambdaUpdate()
                .eq(DzWarning::getDatechar,dateChar)
                .eq(DzWarning::getWarningtype,warningType));
    }

    @Override
    public DzWarning updateById(DzWarning dzWarning) {
        int rows = dzWarningMapper.updateById(dzWarning);
        return rows!=0?dzWarning:null ;
    }

    @Override
    public DzWarning save(DzWarning dzWarning) {
        int rows = dzWarningMapper.insert(dzWarning);
        return rows!=0?dzWarning:null;
    }

}
